{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 长沙理工大学2021学年第一学期电费数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "介绍：项目数据源为校一卡通开放接口，由爬虫每日爬取后存放到数据库，起始时间（2021年9月20日）\n",
    "在收集了约一个季度的电费信息后,可以对全校的整体或是单栋寝室楼或者单个寝室的用电情况进行分析,发现用电的时间规律或是气温规律.\n",
    "\n",
    "如果您对数据分析感兴趣,或是希望获取数据集自行分析,欢迎联系本文作者:chenyi\n",
    "\n",
    "email:396909028@qq.com"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.环境准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sqlalchemy import create_engine\n",
    "from JDBCconnect import connect_url"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 初始化数据库连接，使用pymysql模块\n",
    "engine = create_engine(connect_url)\n",
    "\n",
    "sql = '''\n",
    "    select * from electricity;\n",
    "'''\n",
    "# read_sql_query的两个参数: sql语句， 数据库连接\n",
    "df = pd.read_sql_query(sql, engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                      int64\n",
       "electricity           float64\n",
       "aid                    object\n",
       "roomid                 object\n",
       "areaname               object\n",
       "buildingid              int64\n",
       "building               object\n",
       "insert_time    datetime64[ns]\n",
       "dtype: object"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前最新数据日期 2021-12-29\n"
     ]
    }
   ],
   "source": [
    "latest_date = df.tail(1).loc[:,'insert_time'].astype(str).values[0].split(' ')[0]\n",
    "print('当前最新数据日期', latest_date)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.天气数据准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请运行下方的单元格以更新天气数据！\n"
     ]
    }
   ],
   "source": [
    "weather = pd.read_csv('./weather.csv')\n",
    "if weather.tail(1)['date'].values[0] != latest_date:\n",
    "    print('请运行下方的单元格以更新天气数据！')\n",
    "else:\n",
    "    print('数据库与天气数据已同步')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#!python weather_clawler.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "weather['max'] = weather['temperature'].map(lambda x: int(x.split('/')[0]))\n",
    "weather['min'] = weather['temperature'].map(lambda x: int(x.split('/')[1]))\n",
    "\n",
    "weather.drop('temperature', axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>114</th>\n",
       "      <td>2021-12-24</td>\n",
       "      <td>小雨/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>12</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>2021-12-25</td>\n",
       "      <td>阴/阴</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>2021-12-26</td>\n",
       "      <td>中雪/小雪</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>1</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>2021-12-27</td>\n",
       "      <td>小雪/阴</td>\n",
       "      <td>西北风1-2级/西北风1-2级</td>\n",
       "      <td>0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           date weather             wind  max  min\n",
       "114  2021-12-24   小雨/小雨    北风1-2级/北风1-2级   12    3\n",
       "115  2021-12-25     阴/阴    北风1-2级/北风1-2级    3    0\n",
       "116  2021-12-26   中雪/小雪    北风1-2级/北风1-2级    1   -1\n",
       "117  2021-12-27    小雪/阴  西北风1-2级/西北风1-2级    0   -1\n",
       "118  2021-12-28    阴/小雨    北风1-2级/北风1-2级    4    0"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weather.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.数据预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 去除无用列\n",
    "df = df.drop(['id', 'areaname', 'aid'], axis=1)\n",
    "# 组装门牌号\n",
    "df['uid'] = df['building'].astype(str) + df['roomid']\n",
    "# 简化时间\n",
    "df['insert_time'] = df['insert_time'].astype(str).map(lambda x: x.split(' ')[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 准备反向map的字典\n",
    "room_map = {}\n",
    "reverse_map = {}\n",
    "room_list = list(df['uid'].unique())\n",
    "\n",
    "for idx, room in enumerate(room_list):\n",
    "    room_map[room] = idx\n",
    "    reverse_map[idx] = room "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 为每一个房间设置唯一id 便于之后操作\n",
    "df['uid'] = df['uid'].map(room_map)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>electricity</th>\n",
       "      <th>buildingid</th>\n",
       "      <th>insert_time</th>\n",
       "      <th>uid</th>\n",
       "      <th>room</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>29.15</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>201.50</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>1</td>\n",
       "      <td>16栋A区-A202</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>488.38</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>2</td>\n",
       "      <td>16栋A区-A207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>245.98</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>3</td>\n",
       "      <td>16栋A区-A209</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>215.70</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>4</td>\n",
       "      <td>16栋A区-A211</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   electricity  buildingid insert_time  uid        room\n",
       "0        29.15         471  2021-09-20    0  16栋A区-A201\n",
       "1       201.50         471  2021-09-20    1  16栋A区-A202\n",
       "2       488.38         471  2021-09-20    2  16栋A区-A207\n",
       "3       245.98         471  2021-09-20    3  16栋A区-A209\n",
       "4       215.70         471  2021-09-20    4  16栋A区-A211"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 拼接地址 简化数据字段\n",
    "df['room'] = df['building'] + '-' + df['roomid']\n",
    "df = df.drop(['building', 'roomid'], axis=1)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>electricity</th>\n",
       "      <th>buildingid</th>\n",
       "      <th>insert_time</th>\n",
       "      <th>uid</th>\n",
       "      <th>room</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>480413</th>\n",
       "      <td>47.89</td>\n",
       "      <td>50</td>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>4999</td>\n",
       "      <td>至诚轩4栋B区-B624</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480414</th>\n",
       "      <td>10.93</td>\n",
       "      <td>50</td>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>5000</td>\n",
       "      <td>至诚轩4栋B区-B625</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480415</th>\n",
       "      <td>53.27</td>\n",
       "      <td>50</td>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>5001</td>\n",
       "      <td>至诚轩4栋B区-B627</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480416</th>\n",
       "      <td>55.31</td>\n",
       "      <td>50</td>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>5002</td>\n",
       "      <td>至诚轩4栋B区-B628</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>480417</th>\n",
       "      <td>56.95</td>\n",
       "      <td>50</td>\n",
       "      <td>2021-12-28</td>\n",
       "      <td>5003</td>\n",
       "      <td>至诚轩4栋B区-B629</td>\n",
       "      <td>阴/小雨</td>\n",
       "      <td>北风1-2级/北风1-2级</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        electricity  buildingid insert_time   uid          room weather  \\\n",
       "480413        47.89          50  2021-12-28  4999  至诚轩4栋B区-B624    阴/小雨   \n",
       "480414        10.93          50  2021-12-28  5000  至诚轩4栋B区-B625    阴/小雨   \n",
       "480415        53.27          50  2021-12-28  5001  至诚轩4栋B区-B627    阴/小雨   \n",
       "480416        55.31          50  2021-12-28  5002  至诚轩4栋B区-B628    阴/小雨   \n",
       "480417        56.95          50  2021-12-28  5003  至诚轩4栋B区-B629    阴/小雨   \n",
       "\n",
       "                 wind  max  min  \n",
       "480413  北风1-2级/北风1-2级    4    0  \n",
       "480414  北风1-2级/北风1-2级    4    0  \n",
       "480415  北风1-2级/北风1-2级    4    0  \n",
       "480416  北风1-2级/北风1-2级    4    0  \n",
       "480417  北风1-2级/北风1-2级    4    0  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 增加天气\n",
    "df = pd.merge(df, weather, left_on='insert_time', right_on='date').drop('date', axis=1)\n",
    "df.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4深度清洗"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 根据 uid 进行聚合\n",
    "group = df.groupby('uid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义清洗函数\n",
    "def cal_consumeNcharge(df):\n",
    "    df = df.reset_index()\n",
    "    df.sort_values('insert_time', inplace=True)\n",
    "    # 计算单日耗电量\n",
    "    df['consume'] = df['electricity'].shift(1) - df['electricity']\n",
    "    # 计算单日充值数 （不准确 因为单日的充值完毕还会有损耗 后续加上）\n",
    "    df['charge'] = df['consume'].map(lambda x: -x if x<0 else 0)\n",
    "\n",
    "    # 异常数据不加入cleaned data\n",
    "    if (df['charge'] > 3000).any() == True:\n",
    "        return pd.DataFrame()\n",
    "\n",
    "    # 处理充值日期的损耗\n",
    "    df['consume'] = df['consume'].map(lambda x: x if x>0 else None)\n",
    "    # 由于充值当天的消耗未知 转而用后一天的消耗进行填充\n",
    "    df['consume'] = df['consume'].fillna(method='backfill')\n",
    "    # 设置bool标记\n",
    "    df['isCharged'] = df['charge'] > 0\n",
    "    # 为充值了的日期添加消耗 得到近似真实的充值\n",
    "    idx = df[df['isCharged'] == True].index.tolist()\n",
    "    df.loc[idx, 'charge'] = df.loc[idx, 'charge'] + df.loc[idx, 'consume']\n",
    "\n",
    "    df.drop('index', inplace=True, axis=1)\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "clean_data = group.apply(cal_consumeNcharge)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取离群异常值 并去除（单日充值or消耗大于1000即为异常值）\n",
    "drop_row_index = list(clean_data[clean_data['charge'] > 1000].drop('uid', axis=1).reset_index().loc[:,'uid'].array) + \\\n",
    "                 list(clean_data[clean_data['consume'] > 1000].drop('uid', axis=1).reset_index().loc[:,'uid'].array)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "离群点个数 51\n"
     ]
    }
   ],
   "source": [
    "print('离群点个数', len(drop_row_index))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 去除异常值\n",
    "clean_data = clean_data[~clean_data['uid'].isin(drop_row_index)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "clean_data['uid'] = clean_data['uid'].astype(str)\n",
    "clean_data['buildingid'] = clean_data['buildingid'].astype(str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>electricity</th>\n",
       "      <th>buildingid</th>\n",
       "      <th>insert_time</th>\n",
       "      <th>uid</th>\n",
       "      <th>room</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>consume</th>\n",
       "      <th>charge</th>\n",
       "      <th>isCharged</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>uid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">0</th>\n",
       "      <th>0</th>\n",
       "      <td>29.15</td>\n",
       "      <td>471.0</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>多云/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>29.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>10.9</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18.25</td>\n",
       "      <td>471.0</td>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>34.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>10.9</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5.28</td>\n",
       "      <td>471.0</td>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>36.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>12.97</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>39.25</td>\n",
       "      <td>471.0</td>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>37.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>20.51</td>\n",
       "      <td>54.48</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>679.08</td>\n",
       "      <td>471.0</td>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东南风1-2级/东南风1-2级</td>\n",
       "      <td>37.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>20.51</td>\n",
       "      <td>660.34</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       electricity buildingid insert_time  uid        room weather  \\\n",
       "uid                                                                  \n",
       "0   0        29.15      471.0  2021-09-20  0.0  16栋A区-A201    多云/晴   \n",
       "    1        18.25      471.0  2021-09-21  0.0  16栋A区-A201     晴/晴   \n",
       "    2         5.28      471.0  2021-09-22  0.0  16栋A区-A201     晴/晴   \n",
       "    3        39.25      471.0  2021-09-23  0.0  16栋A区-A201     晴/晴   \n",
       "    4       679.08      471.0  2021-09-24  0.0  16栋A区-A201     晴/晴   \n",
       "\n",
       "                  wind   max   min consume  charge isCharged  \n",
       "uid                                                           \n",
       "0   0  东北风1-2级/东北风1-2级  29.0  21.0    10.9       0     False  \n",
       "    1    东风1-2级/东风1-2级  34.0  20.0    10.9       0     False  \n",
       "    2  东北风1-2级/东北风1-2级  36.0  23.0   12.97       0     False  \n",
       "    3    东风1-2级/东风1-2级  37.0  26.0   20.51   54.48      True  \n",
       "    4  东南风1-2级/东南风1-2级  37.0  27.0   20.51  660.34      True  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clean_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "保存完毕\n"
     ]
    }
   ],
   "source": [
    "# 保存数据 便于之后使用\n",
    "# with open('./cleaned.json', 'wb') as f:\n",
    "#     f.write(clean_data.to_json(orient='records').encode())\n",
    "\n",
    "clean_data.to_csv('./electricity_cleaned.csv', index=False)\n",
    "print('保存完毕')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.按照个体分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.rcParams[\"font.sans-serif\"]=[\"PingFang SC\"] #设置字体\n",
    "plt.rcParams[\"axes.unicode_minus\"]=False #正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('./electricity_cleaned.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['uid'] = df['uid'].astype(int)\n",
    "df['buildingid'] = df['buildingid'].astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>electricity</th>\n",
       "      <th>buildingid</th>\n",
       "      <th>insert_time</th>\n",
       "      <th>uid</th>\n",
       "      <th>room</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>consume</th>\n",
       "      <th>charge</th>\n",
       "      <th>isCharged</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>29.15</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>多云/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>29.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>10.90</td>\n",
       "      <td>0.00</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>18.25</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>34.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>10.90</td>\n",
       "      <td>0.00</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5.28</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>36.0</td>\n",
       "      <td>23.0</td>\n",
       "      <td>12.97</td>\n",
       "      <td>0.00</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>39.25</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>37.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>20.51</td>\n",
       "      <td>54.48</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>679.08</td>\n",
       "      <td>471</td>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>0</td>\n",
       "      <td>16栋A区-A201</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东南风1-2级/东南风1-2级</td>\n",
       "      <td>37.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>20.51</td>\n",
       "      <td>660.34</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   electricity  buildingid insert_time  uid        room weather  \\\n",
       "0        29.15         471  2021-09-20    0  16栋A区-A201    多云/晴   \n",
       "1        18.25         471  2021-09-21    0  16栋A区-A201     晴/晴   \n",
       "2         5.28         471  2021-09-22    0  16栋A区-A201     晴/晴   \n",
       "3        39.25         471  2021-09-23    0  16栋A区-A201     晴/晴   \n",
       "4       679.08         471  2021-09-24    0  16栋A区-A201     晴/晴   \n",
       "\n",
       "              wind   max   min  consume  charge  isCharged  \n",
       "0  东北风1-2级/东北风1-2级  29.0  21.0    10.90    0.00      False  \n",
       "1    东风1-2级/东风1-2级  34.0  20.0    10.90    0.00      False  \n",
       "2  东北风1-2级/东北风1-2级  36.0  23.0    12.97    0.00      False  \n",
       "3    东风1-2级/东风1-2级  37.0  26.0    20.51   54.48       True  \n",
       "4  东南风1-2级/东南风1-2级  37.0  27.0    20.51  660.34       True  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 构造uid map\n",
    "df['map'] = df['uid'].astype(str) + '_' + df['room']\n",
    "map_list = df['map'].unique().tolist()\n",
    "\n",
    "uid_map = {}\n",
    "for item in map_list:\n",
    "    pt = item.split('_')\n",
    "    uid_map[pt[0]] = pt[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 指定自己的sample\n",
    "sample = df.groupby('uid').get_group(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   electricity  buildingid insert_time  uid        room weather  \\\n",
      "0        29.15         471  2021-09-20    0  16栋A区-A201    多云/晴   \n",
      "1        18.25         471  2021-09-21    0  16栋A区-A201     晴/晴   \n",
      "2         5.28         471  2021-09-22    0  16栋A区-A201     晴/晴   \n",
      "3        39.25         471  2021-09-23    0  16栋A区-A201     晴/晴   \n",
      "4       679.08         471  2021-09-24    0  16栋A区-A201     晴/晴   \n",
      "\n",
      "              wind   max   min  consume  charge  isCharged           map  \n",
      "0  东北风1-2级/东北风1-2级  29.0  21.0    10.90    0.00      False  0_16栋A区-A201  \n",
      "1    东风1-2级/东风1-2级  34.0  20.0    10.90    0.00      False  0_16栋A区-A201  \n",
      "2  东北风1-2级/东北风1-2级  36.0  23.0    12.97    0.00      False  0_16栋A区-A201  \n",
      "3    东风1-2级/东风1-2级  37.0  26.0    20.51   54.48       True  0_16栋A区-A201  \n",
      "4  东南风1-2级/东南风1-2级  37.0  27.0    20.51  660.34       True  0_16栋A区-A201  \n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw(df):\n",
    "    x = df['insert_time'].ravel()\n",
    "    y = df['electricity'].ravel()\n",
    "    y_ = df['consume'].ravel()\n",
    "    plt.subplot(2,  2,  1)\n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, y)\n",
    "    plt.title('electricity')\n",
    "\n",
    "    plt.subplot(2,  2,  2) \n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, y_) \n",
    "    plt.title('consume')   \n",
    "    print(df.head())\n",
    "    \n",
    "\n",
    "draw(sample)\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.按日期分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "date_group = df.groupby('insert_time')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "date_analysis = date_group.agg(['sum', 'mean']).loc[:, ['consume', 'charge']].reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>insert_time</th>\n",
       "      <th colspan=\"2\" halign=\"left\">consume</th>\n",
       "      <th colspan=\"2\" halign=\"left\">charge</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>sum</th>\n",
       "      <th>mean</th>\n",
       "      <th>sum</th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>28030.16</td>\n",
       "      <td>5.743885</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>27853.16</td>\n",
       "      <td>5.718161</td>\n",
       "      <td>25744.18</td>\n",
       "      <td>5.180958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>39819.40</td>\n",
       "      <td>8.203420</td>\n",
       "      <td>42379.60</td>\n",
       "      <td>8.564996</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>41618.39</td>\n",
       "      <td>8.645283</td>\n",
       "      <td>43685.94</td>\n",
       "      <td>8.893717</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>56063.98</td>\n",
       "      <td>11.509747</td>\n",
       "      <td>52128.15</td>\n",
       "      <td>10.492784</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  insert_time   consume               charge           \n",
       "                    sum       mean       sum       mean\n",
       "0  2021-09-20  28030.16   5.743885      0.00   0.000000\n",
       "1  2021-09-21  27853.16   5.718161  25744.18   5.180958\n",
       "2  2021-09-22  39819.40   8.203420  42379.60   8.564996\n",
       "3  2021-09-23  41618.39   8.645283  43685.94   8.893717\n",
       "4  2021-09-24  56063.98  11.509747  52128.15  10.492784"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date_analysis.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_date(df):\n",
    "    x = df['insert_time'].ravel()\n",
    "    y = df['charge']['sum'].ravel()\n",
    "    y_ = df['consume']['mean'].ravel()\n",
    "    \n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('Analysis By Date', fontsize=16)\n",
    "    \n",
    "    plt.subplot(4,  2,  1)\n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, y)\n",
    "    plt.title('charge sum', fontsize=10)\n",
    "\n",
    "    plt.subplot(4,  2,  2) \n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, y_) \n",
    "    plt.title('consume average', fontsize=10)   \n",
    "\n",
    "\n",
    "draw_date(date_analysis)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到consume average在10月初的时候有一轮骤降，排除爬虫的故障，考虑到是国庆节人员流动导致的电费波动。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>insert_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2021-09-20</th>\n",
       "      <td>4880.0</td>\n",
       "      <td>5.743885</td>\n",
       "      <td>4.349534</td>\n",
       "      <td>0.01</td>\n",
       "      <td>3.0100</td>\n",
       "      <td>5.280</td>\n",
       "      <td>7.7725</td>\n",
       "      <td>164.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-21</th>\n",
       "      <td>4871.0</td>\n",
       "      <td>5.718161</td>\n",
       "      <td>4.303444</td>\n",
       "      <td>0.01</td>\n",
       "      <td>3.0050</td>\n",
       "      <td>5.280</td>\n",
       "      <td>7.7700</td>\n",
       "      <td>164.12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-22</th>\n",
       "      <td>4854.0</td>\n",
       "      <td>8.203420</td>\n",
       "      <td>4.336307</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4.9100</td>\n",
       "      <td>7.815</td>\n",
       "      <td>10.9950</td>\n",
       "      <td>34.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-23</th>\n",
       "      <td>4814.0</td>\n",
       "      <td>8.645283</td>\n",
       "      <td>4.534765</td>\n",
       "      <td>0.01</td>\n",
       "      <td>5.2825</td>\n",
       "      <td>8.245</td>\n",
       "      <td>11.4800</td>\n",
       "      <td>28.41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-24</th>\n",
       "      <td>4871.0</td>\n",
       "      <td>11.509747</td>\n",
       "      <td>6.446569</td>\n",
       "      <td>0.01</td>\n",
       "      <td>7.7000</td>\n",
       "      <td>11.180</td>\n",
       "      <td>14.6950</td>\n",
       "      <td>146.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-25</th>\n",
       "      <td>4853.0</td>\n",
       "      <td>12.984107</td>\n",
       "      <td>7.487262</td>\n",
       "      <td>0.01</td>\n",
       "      <td>8.8600</td>\n",
       "      <td>12.670</td>\n",
       "      <td>16.7300</td>\n",
       "      <td>291.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-26</th>\n",
       "      <td>4873.0</td>\n",
       "      <td>13.044972</td>\n",
       "      <td>5.744070</td>\n",
       "      <td>0.01</td>\n",
       "      <td>9.0500</td>\n",
       "      <td>12.780</td>\n",
       "      <td>16.6200</td>\n",
       "      <td>45.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-27</th>\n",
       "      <td>4787.0</td>\n",
       "      <td>13.810978</td>\n",
       "      <td>5.491107</td>\n",
       "      <td>0.01</td>\n",
       "      <td>10.1800</td>\n",
       "      <td>13.720</td>\n",
       "      <td>17.4300</td>\n",
       "      <td>44.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-28</th>\n",
       "      <td>4161.0</td>\n",
       "      <td>12.283653</td>\n",
       "      <td>5.341177</td>\n",
       "      <td>0.01</td>\n",
       "      <td>8.6000</td>\n",
       "      <td>12.100</td>\n",
       "      <td>15.6300</td>\n",
       "      <td>41.68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-09-30</th>\n",
       "      <td>4869.0</td>\n",
       "      <td>14.394075</td>\n",
       "      <td>7.776845</td>\n",
       "      <td>0.01</td>\n",
       "      <td>8.7900</td>\n",
       "      <td>13.420</td>\n",
       "      <td>18.6500</td>\n",
       "      <td>56.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-01</th>\n",
       "      <td>4877.0</td>\n",
       "      <td>5.100379</td>\n",
       "      <td>3.422823</td>\n",
       "      <td>0.01</td>\n",
       "      <td>2.4400</td>\n",
       "      <td>4.480</td>\n",
       "      <td>7.2600</td>\n",
       "      <td>32.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-02</th>\n",
       "      <td>4876.0</td>\n",
       "      <td>6.857642</td>\n",
       "      <td>5.390622</td>\n",
       "      <td>0.01</td>\n",
       "      <td>2.9000</td>\n",
       "      <td>6.005</td>\n",
       "      <td>9.5725</td>\n",
       "      <td>55.82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-04</th>\n",
       "      <td>4863.0</td>\n",
       "      <td>16.530222</td>\n",
       "      <td>10.577387</td>\n",
       "      <td>0.01</td>\n",
       "      <td>8.4650</td>\n",
       "      <td>15.750</td>\n",
       "      <td>23.7600</td>\n",
       "      <td>55.82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-05</th>\n",
       "      <td>4843.0</td>\n",
       "      <td>9.828776</td>\n",
       "      <td>6.210870</td>\n",
       "      <td>0.01</td>\n",
       "      <td>5.3500</td>\n",
       "      <td>9.720</td>\n",
       "      <td>13.9600</td>\n",
       "      <td>61.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-06</th>\n",
       "      <td>4869.0</td>\n",
       "      <td>8.969803</td>\n",
       "      <td>5.594448</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4.7500</td>\n",
       "      <td>8.780</td>\n",
       "      <td>12.6300</td>\n",
       "      <td>42.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-07</th>\n",
       "      <td>4872.0</td>\n",
       "      <td>2.726537</td>\n",
       "      <td>2.377940</td>\n",
       "      <td>0.01</td>\n",
       "      <td>1.2900</td>\n",
       "      <td>2.180</td>\n",
       "      <td>3.5000</td>\n",
       "      <td>66.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-08</th>\n",
       "      <td>4791.0</td>\n",
       "      <td>1.939716</td>\n",
       "      <td>1.315895</td>\n",
       "      <td>0.01</td>\n",
       "      <td>1.0800</td>\n",
       "      <td>1.630</td>\n",
       "      <td>2.4800</td>\n",
       "      <td>15.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-10-09</th>\n",
       "      <td>4809.0</td>\n",
       "      <td>1.538347</td>\n",
       "      <td>1.141795</td>\n",
       "      <td>0.01</td>\n",
       "      <td>0.8400</td>\n",
       "      <td>1.280</td>\n",
       "      <td>1.9400</td>\n",
       "      <td>13.30</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              count       mean        std   min      25%     50%      75%  \\\n",
       "insert_time                                                                 \n",
       "2021-09-20   4880.0   5.743885   4.349534  0.01   3.0100   5.280   7.7725   \n",
       "2021-09-21   4871.0   5.718161   4.303444  0.01   3.0050   5.280   7.7700   \n",
       "2021-09-22   4854.0   8.203420   4.336307  0.01   4.9100   7.815  10.9950   \n",
       "2021-09-23   4814.0   8.645283   4.534765  0.01   5.2825   8.245  11.4800   \n",
       "2021-09-24   4871.0  11.509747   6.446569  0.01   7.7000  11.180  14.6950   \n",
       "2021-09-25   4853.0  12.984107   7.487262  0.01   8.8600  12.670  16.7300   \n",
       "2021-09-26   4873.0  13.044972   5.744070  0.01   9.0500  12.780  16.6200   \n",
       "2021-09-27   4787.0  13.810978   5.491107  0.01  10.1800  13.720  17.4300   \n",
       "2021-09-28   4161.0  12.283653   5.341177  0.01   8.6000  12.100  15.6300   \n",
       "2021-09-30   4869.0  14.394075   7.776845  0.01   8.7900  13.420  18.6500   \n",
       "2021-10-01   4877.0   5.100379   3.422823  0.01   2.4400   4.480   7.2600   \n",
       "2021-10-02   4876.0   6.857642   5.390622  0.01   2.9000   6.005   9.5725   \n",
       "2021-10-04   4863.0  16.530222  10.577387  0.01   8.4650  15.750  23.7600   \n",
       "2021-10-05   4843.0   9.828776   6.210870  0.01   5.3500   9.720  13.9600   \n",
       "2021-10-06   4869.0   8.969803   5.594448  0.01   4.7500   8.780  12.6300   \n",
       "2021-10-07   4872.0   2.726537   2.377940  0.01   1.2900   2.180   3.5000   \n",
       "2021-10-08   4791.0   1.939716   1.315895  0.01   1.0800   1.630   2.4800   \n",
       "2021-10-09   4809.0   1.538347   1.141795  0.01   0.8400   1.280   1.9400   \n",
       "\n",
       "                max  \n",
       "insert_time          \n",
       "2021-09-20   164.12  \n",
       "2021-09-21   164.12  \n",
       "2021-09-22    34.66  \n",
       "2021-09-23    28.41  \n",
       "2021-09-24   146.42  \n",
       "2021-09-25   291.94  \n",
       "2021-09-26    45.09  \n",
       "2021-09-27    44.51  \n",
       "2021-09-28    41.68  \n",
       "2021-09-30    56.20  \n",
       "2021-10-01    32.51  \n",
       "2021-10-02    55.82  \n",
       "2021-10-04    55.82  \n",
       "2021-10-05    61.28  \n",
       "2021-10-06    42.19  \n",
       "2021-10-07    66.32  \n",
       "2021-10-08    15.15  \n",
       "2021-10-09    13.30  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 国庆前后的电费消耗\n",
    "df[(df['insert_time'] < '2021-10-10') & (df['insert_time'] > '2021-09-15')].groupby('insert_time')['consume'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 寝室用电排行\n",
    "rank_group = df.groupby('uid').sum().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>uid</th>\n",
       "      <th>consume</th>\n",
       "      <th>room</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4440</th>\n",
       "      <td>4466</td>\n",
       "      <td>1891.48</td>\n",
       "      <td>至诚轩3栋A区-A529</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4424</th>\n",
       "      <td>4450</td>\n",
       "      <td>1757.93</td>\n",
       "      <td>至诚轩3栋A区-A513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4324</th>\n",
       "      <td>4350</td>\n",
       "      <td>1717.52</td>\n",
       "      <td>至诚轩3栋A区-A129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4370</th>\n",
       "      <td>4396</td>\n",
       "      <td>1713.11</td>\n",
       "      <td>至诚轩3栋A区-A317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4399</th>\n",
       "      <td>4425</td>\n",
       "      <td>1632.31</td>\n",
       "      <td>至诚轩3栋A区-A417</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       uid  consume          room\n",
       "4440  4466  1891.48  至诚轩3栋A区-A529\n",
       "4424  4450  1757.93  至诚轩3栋A区-A513\n",
       "4324  4350  1717.52  至诚轩3栋A区-A129\n",
       "4370  4396  1713.11  至诚轩3栋A区-A317\n",
       "4399  4425  1632.31  至诚轩3栋A区-A417"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rank_by_dorm = rank_group.loc[:, ['uid','consume']].sort_values('consume', ascending=False).head(10)\n",
    "rank_by_dorm['room'] = rank_by_dorm['uid'].astype(str).map(uid_map)\n",
    "rank_by_dorm.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_rank(df):\n",
    "    x = df['room']\n",
    "    y = df['consume'].ravel()\n",
    "   \n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('按寝室消耗排序', fontsize=16)\n",
    "\n",
    "    plt.bar(x, y)\n",
    "    plt.xlabel('寝室门牌号')\n",
    "    plt.ylabel('总消耗')\n",
    "    plt.xticks(range(0, len(x), 1), rotation=90)\n",
    "    plt.tick_params(labelsize=10)\n",
    "\n",
    "\n",
    "draw_rank(rank_by_dorm)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 7按照楼栋统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "top3building = df.groupby('buildingid').agg(['sum', 'mean'])\\\n",
    "                 .reset_index().loc[:, ['buildingid', 'consume', 'charge']]\\\n",
    "                 .sort_values(('consume', 'sum'), ascending=False).head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "from building_map import building_map\n",
    "building_decoder = {}\n",
    "for item in building_map.items():\n",
    "    building_decoder[item[1]] = item[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['155', '1', '29']\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_building_rank(df):\n",
    "    x = df['buildingid'].astype(str).tolist()\n",
    "    print(x)\n",
    "    x = list(map(lambda code: building_decoder[code], x))\n",
    "    y = df['consume']['sum'].ravel()\n",
    "   \n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('按寝室楼栋排序', fontsize=16)\n",
    "    \n",
    "    plt.bar(x, y)\n",
    "    plt.xlabel('')\n",
    "    plt.ylabel('总消耗')\n",
    "\n",
    "\n",
    "draw_building_rank(top3building)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "### 8气温的趋势考察"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_weaher(df):\n",
    "\n",
    "    x = df['date'].ravel()\n",
    "    max = df['max']\n",
    "    min = df['min']\n",
    "\n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('Weather', fontsize=16)\n",
    "    \n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, min, c='b', label='min')\n",
    "    plt.plot(x, max, c='r', label='max')\n",
    "    plt.legend()\n",
    "\n",
    "draw_weaher(weather)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将用电量、气温进行归一化\n",
    "weather['norm_max_temp'] = weather['max'] / weather['max'].max()\n",
    "weather['norm_min_temp'] = weather['min'] / weather['min'].max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>norm_max_temp</th>\n",
       "      <th>norm_min_temp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-09-01</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>37</td>\n",
       "      <td>27</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.964286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-09-02</td>\n",
       "      <td>多云/多云</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>34</td>\n",
       "      <td>25</td>\n",
       "      <td>0.918919</td>\n",
       "      <td>0.892857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-09-03</td>\n",
       "      <td>多云/多云</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>36</td>\n",
       "      <td>25</td>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.892857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-09-04</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>37</td>\n",
       "      <td>27</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.964286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-09-05</td>\n",
       "      <td>小雨/多云</td>\n",
       "      <td>西北风1-2级/西北风1-2级</td>\n",
       "      <td>35</td>\n",
       "      <td>26</td>\n",
       "      <td>0.945946</td>\n",
       "      <td>0.928571</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date weather             wind  max  min  norm_max_temp  norm_min_temp\n",
       "0  2021-09-01     晴/晴  东北风1-2级/东北风1-2级   37   27       1.000000       0.964286\n",
       "1  2021-09-02   多云/多云  东北风1-2级/东北风1-2级   34   25       0.918919       0.892857\n",
       "2  2021-09-03   多云/多云    东风1-2级/东风1-2级   36   25       0.972973       0.892857\n",
       "3  2021-09-04     晴/晴  东北风1-2级/东北风1-2级   37   27       1.000000       0.964286\n",
       "4  2021-09-05   小雨/多云  西北风1-2级/西北风1-2级   35   26       0.945946       0.928571"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weather.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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4e9//zvdu3fn1FNPZcmSJZx11lm89tprXHvttdx9992sX7+e4447ji1btjB8+HCuvPJK7rjjDj799FOuueYali5dyv33358xIQBFbBkAefqfOVMEwGGHyfjuHuQjWQaG7C+1BqrYyJbZ8ygfMjD+mzgxMHRo7POyTefO4o5YscL3xzvLQM+eTU53YiDguo9L165So+Gpp2DiRLj11sDBeGIgQn0BkP/PeGJg/XrxzJSom0BRCpuNG+XJLResXw9VVUldct555/Hb3/4WgClTpjB16lQeeOABKioq2GGHHdhrr71477332Hvvvfntb3/Lvvvuy7p16ygrK+PUU0/lm2++Yfjw4Vx22WU8+eSTnHbaacyaNYubbrqJHd3Ta4YoWssA+E//zjUwfbpMxNOpk4xB4fTdzjCvpAaAeVNrE3sTpy7yTQxEGijT6CZwuJoE//qXjO2NxBMDkQozISEGrnZBNDEA3pQMKgYURckigwYNatzu0aMH3bp1o8KLieruuUNXrVrF/vvvz5VXXklFRQXV1dWc6rmHV3q/VWVlZdx77718/fXXDB48uFFgZJKitwyATL5z+OEyl4/bHx7oD7JvdccaWDGDxe/VMvDsOG+wZo0fDJhPbgKIPFA6N0GYZaChAebOle1kxcARR0C3bpKaOGaMH/F/28JqmR0iETEQwAUPVlU1jTssL5d5ErZtE1dBe40ZUJTCprLSn2wtF++dJCbSwBHG+vXrOfLII+nduzeTJk2iZ8+efPzxx1x44YXYgGvihRdeAODbb79l1qxZGbcMFLUY2H13GVDWrPHnKoImWXUh1PepgRWwYXpt/DdwVoFevfwn4XwhCcvAkiXiQikpiWwxiUVZmWRW3nQTvPOOv/99YoiBFOIFHO3byzk6c6GitACMSdpUn+9s2LCBVatWMXHiRI71JnZ58803Q8754osvuPHGG7n66qt54oknOOusszIaPAhFLgY6d5YB6osv/H2VlTI1bzTaDK6Bz8DMrY3/BvkaLwCRSxJHCSB08QJ9+sjgnixXXy3FFTdulNeXXgqrF1XLi0hiIEq8QLC54ZkEjohiQC0DiqLkCdZaSktLueeee9iwYQMff/wxk1z1WKC+vp6zzjqL/v37c/nll3PooYey77778pe//IVf//rXGWtXUYsBkLiBSJkD0eiyew38G9qtrJUgtVhCzVkG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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_norm_weaher(df):\n",
    "    x = df['date'].ravel()\n",
    "    max = df['norm_max_temp']\n",
    "    min = df['norm_min_temp']\n",
    "    \n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('Normalized Weather', fontsize=16)\n",
    "    \n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, min, c='b', label='min')\n",
    "    plt.plot(x, max, c='r', label='max')\n",
    "    plt.legend()\n",
    "\n",
    "\n",
    "draw_norm_weaher(weather)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**对最高气温进行验证** "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "date_analysis.loc[:, ('consume','norm_sum')] = date_analysis.loc[:, ('consume','sum')] / date_analysis.loc[:, ('consume','sum')].max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>insert_time</th>\n",
       "      <th colspan=\"2\" halign=\"left\">consume</th>\n",
       "      <th colspan=\"2\" halign=\"left\">charge</th>\n",
       "      <th>consume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>sum</th>\n",
       "      <th>mean</th>\n",
       "      <th>sum</th>\n",
       "      <th>mean</th>\n",
       "      <th>norm_sum</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>28030.16</td>\n",
       "      <td>5.743885</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.348693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>27853.16</td>\n",
       "      <td>5.718161</td>\n",
       "      <td>25744.18</td>\n",
       "      <td>5.180958</td>\n",
       "      <td>0.346491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>39819.40</td>\n",
       "      <td>8.203420</td>\n",
       "      <td>42379.60</td>\n",
       "      <td>8.564996</td>\n",
       "      <td>0.495350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>41618.39</td>\n",
       "      <td>8.645283</td>\n",
       "      <td>43685.94</td>\n",
       "      <td>8.893717</td>\n",
       "      <td>0.517729</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>56063.98</td>\n",
       "      <td>11.509747</td>\n",
       "      <td>52128.15</td>\n",
       "      <td>10.492784</td>\n",
       "      <td>0.697431</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  insert_time   consume               charge              consume\n",
       "                    sum       mean       sum       mean  norm_sum\n",
       "0  2021-09-20  28030.16   5.743885      0.00   0.000000  0.348693\n",
       "1  2021-09-21  27853.16   5.718161  25744.18   5.180958  0.346491\n",
       "2  2021-09-22  39819.40   8.203420  42379.60   8.564996  0.495350\n",
       "3  2021-09-23  41618.39   8.645283  43685.94   8.893717  0.517729\n",
       "4  2021-09-24  56063.98  11.509747  52128.15  10.492784  0.697431"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date_analysis.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/hadoop/.local/lib/python3.6/site-packages/pandas/core/reshape/merge.py:643: UserWarning: merging between different levels can give an unintended result (2 levels on the left,1 on the right)\n",
      "  warnings.warn(msg, UserWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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DKWysrJaCLRp0ybXxTFyRLt27Zg1axYVFRU0bNgw6fMk7Ghwzu0OvI8Kgbr2HQpcDzyGCoJtgJcSvaZhGIZREz9GoEmTJjkuiZFLfPdAZWVlSudJJurgDKADcGttOznnSoArgMdE5CoReRQYAuzknNstiesahmEYEZhroLhJ1++fjJvgZuAX4KQ69usPdAReCa37CFgCHA58msS1c0NVFUyeDOvWJXZco0bQqxdk+M+66Od5tO7dBtegNKPXMQzDMOonCYsBEZkAcamRXt58SuhYcc79hg6asAHOuXKgPLSqeaLlywiXXw4335zcsddfr8dniJ9u+C+bXnEkX/c/lR2/fzhj1zEMwzDqL5nsTdDIm6+MWL8SiBXtcjkwImMlSoYff4TbbtPldu3if8uvqoIFC+Dvf4fjj4du3dJftpUr6XLzUEqpYscfHoGPT4Hdd0//dQzDMIx6TSYzEC7w5k0j1jcFFsY45gagZWiKakHIGiJw/vlQWQl//CPMmwdz58Y3zZsHgwfDmjVw0UWZKd+NN9JsSWiE56FDtayGYRiGkQCZFAPTvXlPf4UXVNgjtK0GIrJWRJb5E3EMu5hRXngB3nkHyssD60C8OAd33QWlpfD883qedDJlCtxyCwB/5kGWlbaC776Dhx5K73UMwzCMek9axYBzrpFzbiOoji2YBBwW2mUg+saf/90LV62CCy/U5UsugR49Ej9Hv37w17/q8vnnQzrThV54Iaxdy5Se+/AwZ3BX25G6/sorYdGi9F3HMIyCQARWrszNJJJYWefMmcPRRx9N8+bNadOmDUceeSQzZqiV88MPP2TnnXemUaNGdOnShZEjRyLeBd5//32cc9x2221su+22NGnShF133ZXx48dXn/vxxx9n8803p3HjxnTv3p3rrruuelv37t055ZRTapTFOcfVV18NwODBgxkwYABnnnkmTZs2pWfPnrz00ks899xzdO3aldatWzN06FAqKiqqj3/mmWfo27cv5eXl9O3bl8ceeyyxysgXRCSpCTgFEKB7aN27wFKguff5LKAKTVB0KvAb8FkC12gByNKlSyXrXH21CIh06SKycmXy51m0SKRNGz3XqFHpKdsbb+j5GjSQUX/5UUCkZ9f1Iv366fq//jU91zEMI29ZvXq1TJgwQVavXi0iIitW6N8/F9OKFYmVfZdddpH27dvLPffcI/fdd59svPHGMmDAAJk8ebI0atRIBgwYII8++qgMHTpUALnuuutEROS9994TQFq2bCmjRo2SUaNGSatWrWT77bcXEZGvv/5aADnttNPk3//+t1x66aUCyNNPPy0iIt26dZMhQ4bUKAsgI0aMEBGRQYMGCSDHHXecPPHEE7LZZptJkyZNpHfv3vLYY4/JxRdfLIDcfffdIiLy4YcfinNOzj77bBk9erRcdNFF4pyTN954I8lfNXEi74MwS5cuFa+dbiF1tbd17RDzwOhi4J9ot8Py0Lr/A2aigYMvAB0SuEZuxMDUqSKNGmn1PPts6ud74AE9V8uWInPnpnautWtF+vbV811wgVx8sS62ayci772nH0pKRL77LvVyG4aRtxSqGHj33XcFkJdffrl63auvviq77LKLnH766dK2bVtZETrhX/7yF2nWrJmsWbOmWgzceOON1duHDx8ugKxcuVJeffVVAeTRRx+t3v7ggw/K22+/LSLxiYHOnTvL+vXrRUTk6aefFkCeeOKJ6v0322wzOfzww0VEZO+995YBAwbI4sWLq6dDDz1U9tlnn/grJEXSJQaS7k0gIo8Dj0esOznKfrcAtyR7nZzwf/+ngX+DB8NRR6V+vtNPhwcegLFjYeBA6NQp2Na1Kzz4oOYkiId77oFffoH27WHECNYO19WrVqHl/dOf4Nln1S3x/vupl90wjIKgSRNYsSJ3146XcePGATBo0KDqdQcddBAHHXQQ22+/PQMHDqRp0yDu/MADD+TBBx9k0qRJ1et23HHH6uUengt3/vz57LvvvhxzzDGcdtppXH311Rx88MGccMIJDBgwIO7y9e7dmwYNtGns2LEjAF27dq3e3qFDBxYvXgzAt99+y6JFi2jdunWNc3To0CHu6+ULNlBRJPPmacAfwJ13pidhUGkp3H23dvubOFGnMEcdBYcdFv3YSO67T+cjR0LLlqxdqx9XrVKN7m65RcXABx/AwoVgOcsNoyhwDppG9t0qEESEtd7DTKTuAITwkL1+zhsRoWHDhjzzzDNcd911vPHGG7z00kvsvvvu3HHHHQwbNiyubH2JZvTbf//9ueyyy1I6Rz6Qyd4Ehcnrr2uruu220L9/+s67227w5ZfaUPvTHnvotkhxEIuJEzUTYsOGcNxxANViQMRb7toVWrXSlfPmpa/8hmEYaWCrrbYC4IMPPqhe99RTT9GkSRO23XZbPv74Y1auDNLTvPbaazRr1ozevXvXee4XX3yR448/nu7du3POOefw5ptvsv/++/P4448DsNFGG7FwYdCz/auvvkrpu/Tr14+pU6eyxx57MHjwYAYPHsy///1vnvdfKAsIswxE8uqrOj/44PSfe4cddPIZNw4+/DB+MeCXbY89oLkmZ/TFAKh1oFEj1IWwZAnMnw+bb56WohuGYaSDvfbai5122ok///nPjBgxAhFh5MiRHH744VxxxRU89dRT7L///pxxxhmMHTuWhx56iOuvv55GcbhSN9lkE/7973/ToEEDDjnkEGbPns0XX3zBfvvtB8Duu+/Ogw8+yAsvvECXLl3485//nNJ3GT58OPvssw/HHnsshx9+OO+//z4PPfQQzz33XErnzQVmGQizfj2MGaPLmRADkWy6qc5DvrBaiSJUIsUAoJkSwSwDhmHkJS+++CK77rorF198MVdffTUHHHAAjzzyCD179uStt96ioqKCM888kxdeeIFrr712AzN8LHbccUeefPJJxo4dy5AhQ7j++us54IADuOuuuwD429/+xn777ceQIUM46qijOP/881P6HnvvvTdPPPEE3333HaeddhqfffYZo0eP5sgjj0zpvLnAxeOfyRXOuRbA0qVLl9KiRYvMX/D992HPPaFtW5gzR339meSLL2CXXaBzZ5g5s/Z9ly1T/39FhQYQekLi4IPhtdd0l+rVRxwBL74I994LZ5+d2e9gGEZOWLNmDVOnTqVHjx5xvTUb9ZPa7oNly5bRsmVLgJaiifxiYpaBMP6b94EHZl4IAPTpo/NZs+oOA37rLRUCffoEFgXMMmAYhmGkjomBMP/7n84POSQ719toI7VCgAYG1kaMWIaoYqB9e53Pn596GQ3DMIx6j4kBnylT4Oef1SLgBZtkBd86UFvcQFVV4AuIRwz4lgETA4ZhGEYcmBjw8d+8d9896JqXDXyTf209CsaO1ZEQmzULuiN61GoZMDeBYRiGEQcmBnwy2aWwNnzLQG1iwHdf7LcflJXV2GSWAcMwDCNVTAyADrvlp+7NthiIp3thLULFLAOGYRhGqpgYAHjnHW1Vu3fPfpKeuiwDc+bA11/r8kEHbbC5VsvAwoVQWZmechqGYRj1FhMDELx5H3JIesYiSAQ/xebChbBo0YbbX39d59tvD96gGWHCYmD1am/B76FQVRX9nIZhGIYRwsSASO7iBUCDAjfeWJejuQrCQiUKUS0DDRpot0WwuAHDMPKOjz/+mKVLl+a6GGllypQp/PTTT7kuRtKYGPjhB83+16SJDgGcC2K5Ctatgzff1OUYQiWqGACLGzAMIy95+umnGThwYPUwwPWBmTNn0qdPH7744otcFyVpTAx8+63Od93VG+UnB8QKIvzoI1i+XBv27bff4LCqKk1K6FNDDFiPAsMw8pC14TeYesL69eupqqpK6Ry5HhrAxMDvv+u8R4/clSGWZcB3ERx0EJRs+FNF/qeiigGzDBiGkScMHjyYU089FYAePXowePBgFixYwLHHHkvz5s1p0aIFRx99NLNnzwbg/fffxznHyJEj6du3L02aNOGYY45h5syZHHHEETRu3Jj+/fvz+eefV1/DOccll1zCwIEDKS8vZ9NNN+U///lP9faqqiquuuoqOnXqROPGjdltt902OP7ss89ml112oaSkhPfff5+1a9dy7rnn0rlz5+qhlsd4g9pdffXV9PDaj1NPPRXnxZ35QxqH6d69O6eccgoAp5xyCt27d+fyyy+nSZMm1fXyzjvvsO2221JeXk63bt246aab0vgLxMbEgC8GunbNXRliWQbqiGWoVQxYSmLDKC5EtJt0LqY432qvvfZahg4dCsADDzzAtddey7HHHstXX33F7bffzqhRo/jpp5844ogjahx31113cdFFF3Huuefy7LPPsuWWW9KxY0ceeOAB1q9fz1FHHVXD4nDrrbfSp08fHnzwQXr27Mmxxx7LN998A8D111/PqFGjOO+883jkkUdo164d++23H/NDz8oHHniA/v378/jjj9OrVy8uu+wynnjiCS6++GIeeeQRWrVqxRFHHMHcuXM59thjeeCBBwAYOnQoL774Ytw/2e+//86rr77KfffdxwknnMCvv/7KwQcfzKabbsrjjz/O6aefzogRI6rPn1FEJG8noAUgS5culYyxzz4iIPL445m7Rl389JOWoVkzkaoqXTdpkq5r0EBkyZKoh82dq7v402GHhTYOH64rzz478+U3DCPrrF69WiZMmCCrV6/WFStW1HwgZHNasSLucj/22GMCyNSpU+Wjjz4SQF555RVZvHixLF68WD755BMB5OOPP5b33ntPALn33nurj+/bt6/07Nmz+vMzzzwjgHz33XciIgLInnvuWb19/fr1svHGG8uJJ54oq1evlqZNm8qll15afb358+dLu3bt5Nprr60+fuDAgTXK/MADD8jLL78sIiJLly6tLqO/burUqQLIY489Vn3MoEGDZNCgQTXO061bNxkyZIiIiAwZMkScczJ58uTq7aeffrp069ZNFi5cWF2+c845R3r37h2zPje4D0IsXbpUAAFaSB3tbYPMy408x7cMdOuWuzL07KlugBUrNK9Ap06BVWDgQNAhKDfALAOGYRQy33oxW4ceeugG28aNG8dmm20GUD0H6BjRxbpDhw4ANQIS9wilbW/QoAE777wzEyZMYNKkSaxcuZKbbrppA/P7uHHjqpcHDBhQY9ugQYO48MILOfroo2tYIBal2HW7Q4cO9OrVq/rzt99+y7Rp02jTps0G+65evZrGjRundL3aKG4xIJIfboKyMk14NGWKugrCYqCWERQtZsAwjGqaNKl7KPRMXjsFnn766Q0a+R49ejB16lSAaj98vEgUt0U4wO/SSy/lgAMOqLG9devW1cvl5eU1znXYYYexevVq7rvvPrp3786sWbM48cQTaw36c87VGRQYvo7P1ltvzahRozZYXxIlbiydFHfMwIIFsGaNJhry+/rninAQ4YoV8MEH+rmW3AdmGTAMoxrnoGnT3ExJJmvr168fAJWVldUBd02bNuWqq65KqevhO++8U71cUVHBF198wZZbbkmfPn1o1KgRCxcurL7eDjvswLXXXsvYsWOjnmvevHlMnDiRiy++mFNPPZU999wzrp4DG220EQsXLqz+PGfOHGbMmFHrMf369WPatGnssMMO1eX74IMP+Mc//hFVOKST4rYM+FaBjh0hwxVdJ5tuCmPGqGXg7bc1x0CvXkFwYRTMMmAYRqHhv4GPHj2aQw45hIEDBzJs2DAWLVpEWVkZN954I61ataJfv3589NFHSV3jhx9+qG64R48ezezZsxk2bBiNGjXi4osv5oYbbqBt27ZsueWWPPzww4wdO5aHH3446rnatm1Ly5Yteeqpp2jXrh0TJ07cYN9W3ki3b775Jl27dmWvvfZi991354UXXuChhx5ip5124qKLLqKyjvTwl112GaNHj+YPf/gDp556KuPHj+eWW27h5ptvTqoeEsHEAOTWReATtgz4avLgg2tV3HFZBhYt0mQEDYr7pzYMIz/Yb7/9GDRoEH/729+Y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+UH3ST+SfeRIkQ8+CMyua9eKPPaYBnfFivbeaCM9tksXDfzab7/k3pijUVUV+NH94LvFi2vu88EHNct0+OHpuXY0brwxsApk+m935516rebN1XcuEvTMatJErTk+/j26/fbpu35VlcgOO+h5L7wwfec1ipx99tGbqq4HVBYwN4GREPPmBTEvH32U69IErFgRNNJ7761m3O22U9+u3+1qzJjox778skibNkEDetZZGzayYSoq1Dd91FHaN7xzZxHnogsEELnkkvR8x3HjpLon0qab6vKdd9bc58gjgzoALddPP6Xn+mG+/joI3HvkkfSfP5KKCpFdd5Vqd0FVlci11+rnww6rue/cucHv4QsHET0mWtxBPPhda5s21fMbRlrwo7LvuivXJTExYCTOaafp3dC7d3wP16oqffNesCBzZTrjDC3TxhvXvM6KFSJDhkh1kJrfjc3nyScDwdCvX5C4JVHWrROZNk3P//332lg+8ICet6xMZMqUpL9aNddco+c79FCRf/xDlzffPAiUmzYt+C7jxon84Q+6nO4kPCtXBsIrVuKgTDBhQhCz8uSTIrvtpsv337/hvrvvrtvuvlstOw8/LNK/v1QHG557rorAeGI/Kiu1x4P1pDHSzp//rDeW3yc3Xv7zH+1ys3x52opiYsBImCVL1PQOIkOHbrh93Tp9CJ94or45+wFgjRtrAFy6+c9/grfgd9/dcPuaNUHj0LNnIBbuvTd4ex8yRMudTqqqAivgn/6U+vm22UbP9eijapb38z68955u9xP97LWXfv70U6l2X0yfnvr1fc46S8/buXNmBV40rrtOql0TvoVq2rQN9/PzGHTpsmG2vvDUoIFI+/YaKNqli+Y1GDhQe874vSCefTYQk7G6OBpGUlxyid5cF1wQ/zFVVUFCjTRGyZoYMJJizJjggeo3RiL6sPRN1NGmjTcWmTMnfeWYNi34X9T21jZvnj7oQWSPPYJGxRc0kVHq6eL77wOTdSoBw7/+qucoLVUri0jQKB99tL79+o3ef/8bHLfHHrouXf3uX345qLe33krPORNh3bpAFPnWnGhMmlTzvuveXRME/fabyIsvivz1rzXjL6JN3bqJjBoVpFceMSKLX9QoDm64QW+uU06J/5h584KbNI39SE0MGEnzl78ED9rly9U37T9gmzYVufpq9a3/8IMKAL8/+uDB6UnW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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def draw_relationship(weather, date_analysis):\n",
    "    cols = ['insert_time','consume_sum','consume_mean','charge_sum','charge_mean', \\\n",
    "            'consume_norm_sum', 'date', 'weather', 'wind', 'max', 'min', 'norm_max_temp', 'norm_min_temp']\n",
    "    merged = pd.merge(date_analysis, weather, left_on='insert_time', right_on='date')\n",
    "    merged.columns = cols\n",
    "\n",
    "    x = merged['date'].ravel()\n",
    "    temp = merged['norm_max_temp']\n",
    "    consume = merged['consume_norm_sum']\n",
    "\n",
    "    plt.figure(dpi=100)\n",
    "    plt.suptitle('Relationship', fontsize=16)\n",
    "    \n",
    "    plt.xticks(range(0, len(x), 20), rotation=25)\n",
    "    plt.plot(x, consume, c='b', label='consume')\n",
    "    plt.plot(x, temp, c='r', label='temperature')\n",
    "    plt.legend()\n",
    "\n",
    "    return merged\n",
    "\n",
    "\n",
    "merged = draw_relationship(weather, date_analysis)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>insert_time</th>\n",
       "      <th>consume_sum</th>\n",
       "      <th>consume_mean</th>\n",
       "      <th>charge_sum</th>\n",
       "      <th>charge_mean</th>\n",
       "      <th>consume_norm_sum</th>\n",
       "      <th>date</th>\n",
       "      <th>weather</th>\n",
       "      <th>wind</th>\n",
       "      <th>max</th>\n",
       "      <th>min</th>\n",
       "      <th>norm_max_temp</th>\n",
       "      <th>norm_min_temp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>28030.16</td>\n",
       "      <td>5.743885</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.348693</td>\n",
       "      <td>2021-09-20</td>\n",
       "      <td>多云/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>29</td>\n",
       "      <td>21</td>\n",
       "      <td>0.783784</td>\n",
       "      <td>0.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>27853.16</td>\n",
       "      <td>5.718161</td>\n",
       "      <td>25744.18</td>\n",
       "      <td>5.180958</td>\n",
       "      <td>0.346491</td>\n",
       "      <td>2021-09-21</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>34</td>\n",
       "      <td>20</td>\n",
       "      <td>0.918919</td>\n",
       "      <td>0.714286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>39819.40</td>\n",
       "      <td>8.203420</td>\n",
       "      <td>42379.60</td>\n",
       "      <td>8.564996</td>\n",
       "      <td>0.495350</td>\n",
       "      <td>2021-09-22</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东北风1-2级/东北风1-2级</td>\n",
       "      <td>36</td>\n",
       "      <td>23</td>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.821429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>41618.39</td>\n",
       "      <td>8.645283</td>\n",
       "      <td>43685.94</td>\n",
       "      <td>8.893717</td>\n",
       "      <td>0.517729</td>\n",
       "      <td>2021-09-23</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东风1-2级/东风1-2级</td>\n",
       "      <td>37</td>\n",
       "      <td>26</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.928571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>56063.98</td>\n",
       "      <td>11.509747</td>\n",
       "      <td>52128.15</td>\n",
       "      <td>10.492784</td>\n",
       "      <td>0.697431</td>\n",
       "      <td>2021-09-24</td>\n",
       "      <td>晴/晴</td>\n",
       "      <td>东南风1-2级/东南风1-2级</td>\n",
       "      <td>37</td>\n",
       "      <td>27</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.964286</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  insert_time  consume_sum  consume_mean  charge_sum  charge_mean  \\\n",
       "0  2021-09-20     28030.16      5.743885        0.00     0.000000   \n",
       "1  2021-09-21     27853.16      5.718161    25744.18     5.180958   \n",
       "2  2021-09-22     39819.40      8.203420    42379.60     8.564996   \n",
       "3  2021-09-23     41618.39      8.645283    43685.94     8.893717   \n",
       "4  2021-09-24     56063.98     11.509747    52128.15    10.492784   \n",
       "\n",
       "   consume_norm_sum        date weather             wind  max  min  \\\n",
       "0          0.348693  2021-09-20    多云/晴  东北风1-2级/东北风1-2级   29   21   \n",
       "1          0.346491  2021-09-21     晴/晴    东风1-2级/东风1-2级   34   20   \n",
       "2          0.495350  2021-09-22     晴/晴  东北风1-2级/东北风1-2级   36   23   \n",
       "3          0.517729  2021-09-23     晴/晴    东风1-2级/东风1-2级   37   26   \n",
       "4          0.697431  2021-09-24     晴/晴  东南风1-2级/东南风1-2级   37   27   \n",
       "\n",
       "   norm_max_temp  norm_min_temp  \n",
       "0       0.783784       0.750000  \n",
       "1       0.918919       0.714286  \n",
       "2       0.972973       0.821429  \n",
       "3       1.000000       0.928571  \n",
       "4       1.000000       0.964286  "
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "平均用电量和最高气温的相关性 0.4906272977015717\n"
     ]
    }
   ],
   "source": [
    "corr_val = merged['consume_mean'].corr(merged['norm_max_temp'])\n",
    "print('平均用电量和最高气温的相关性', corr_val)"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "f7291e4b392a32fbfa525b87d1bbd0a3d888adf3d0deca0c205c61b9e7284b82"
  },
  "kernelspec": {
   "display_name": "Python 3.6.3 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
